<?php 
namespace Common\Model;
use Hdphp\Model\Model;
/**
* user模型
*/
class User extends Model{
	// table成员属性
	protected $table='user';
	// 自动验证参数
	protected $validate=array(
		array('username','required','用户名不能为空',3,3)
		);
	// 登陆方法
	public function login(){
		// 自动验证方法
		if(!$this->create()) return false;
		// 获取提交值
		$username=$_POST['username'];
		$password=$_POST['password'];
		// 连接数据库 判断用户名是否存在   find 获取一条数据   get获取所有数据
		$userDate=$this->where("username",$username)->find();
		if(!$userDate){
			$this->error='用户名错误';
			return false;
		}
		// userDate是一个数组   有密码  有用户名   user表 判断密码是否正确   密码加密
		$password=$this->encrypt($username,$password);
		if($password!=$userDate['password']){
			$this->error='密码错误';
			return false;
		}
		// 登陆成功  写入session
		$_SESSION['id']=$userDate['uid'];
		// 返回主页
		return true;
	}
	// 加密方法
	private function encrypt($username,$password){
		return md5(md5($username).md5($password).'houdunwang');
	}
	// 修改密码方法
	public function changepass(){
		// 进行自动验证
		$this->validate=array(
			array('password','required','原密码不能为空',3,3),
			array('newPassword','required','新密码不能为空',3,3),
			array('confirmPassword','required','确认密码不能为空',3,3),
			array('newPassword','confirm:confirmPassword','两次密码输入不一致',3,3)
		);
		if(!$this->create()) return false;
		// 确认原密码是否正确
		// 输入的原密码  加密
		$password=$_POST['password'];
		// 数据库用户名与密码
		$userDate=$this->where('uid',$_SESSION['id'])->find();
		$username=$userDate['username'];
		// 对输入的密码加密
		$password=$this->encrypt($username,$password);
		// 比对
		if($password!=$userDate['password']){
			$this->error='原密码不正确';
			return FALSE;
		}
		// 写入新密码
		$newPassword=$_POST['newPassword'];
		// 加密
		$newpassword=$this->encrypt($username,$newPassword);
		// 写入数据库
		$result=$this->where('uid',$_SESSION['id'])->update(array('password'=>$newpassword));
		// 判断返回值
		if(!$result){
			$this->error='修改失败';
			return FALSE;
		}
		// 退出当前用户
		session_unset();
		session_destroy();
		// 返回值
		return true;
	}
}


 ?>